package ${packagePrefix}.client.api;

import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import ${packagePrefix}.client.dto.data.${domainObjectName}DTO;
import ${packagePrefix}.client.dto.command.${domainObjectName}AddCmd;
import ${packagePrefix}.client.dto.command.${domainObjectName}ModifyCmd;
import ${packagePrefix}.client.dto.query.${domainObjectName}GetQry;
import ${packagePrefix}.client.dto.query.${domainObjectName}ListQry;

/**
 * ${entityComment}服务接口
 */
public interface ${domainObjectName}ServiceI {
    /**
     * 添加${entityComment}
     * @param cmd ${entityComment}添加命令
     * @return 操作结果
     */
    Response add${domainObjectName}(${domainObjectName}AddCmd cmd);
    
    /**
     * 修改${entityComment}
     * @param cmd ${entityComment}修改命令
     * @return 操作结果
     */
    Response update${domainObjectName}(${domainObjectName}ModifyCmd cmd);
    
    /**
     * 获取${entityComment}详情
     * @param qry ${entityComment}查询对象
     * @return ${entityComment}详情
     */
    SingleResponse<${domainObjectName}DTO> get${domainObjectName}(${domainObjectName}GetQry qry);
    
    /**
     * 查询${entityComment}列表
     * @param qry ${entityComment}列表查询对象
     * @return ${entityComment}列表
     */
    MultiResponse<${domainObjectName}DTO> list${domainObjectName}s(${domainObjectName}ListQry qry);
} 